package sige

class BimestreService {

    def verificarDatas(Semestre semestre) {
        if(semestre.bimestre_1.dataDeInicio < semestre.dataDeInicio ){
            return semestre.bimestre_1.errors.rejectValue('dataDeInicio', 'bimestre.dataDeInicio.invalid.inicio.semestre', 'A data de inicio é anterior que a data de abertura do semestre')
        }
        if(semestre.bimestre_1.dataDeFechamento < semestre.bimestre_1.dataDeInicio){
            return semestre.bimestre_1.errors.rejectValue('dataDeFechamento', 'bimestre.dataDeFechamento.invalid.dataDeInicio', 'A data de fechamento é anterior à data de início')
        }
        if(semestre.bimestre_1.dataDeFechamento > semestre.dataDeFechamento){
            return semestre.bimestre_1.errors.rejectValue('dataDeFechamento', 'bimestre.dataDeFechamento.invalid.semestre', 'A data de fechamento é superior que a data de fechamento do semestre')
        }
        if(semestre.bimestre_2.dataDeInicio < semestre.bimestre_1.dataDeFechamento ){
            return semestre.bimestre_2.errors.rejectValue('dataDeInicio', 'bimestre.dataDeInicio.invalid.inicio.bimestre', 'A data de inicio é anterior que a data de fechamento do bimestre anterior')
        }
        if(semestre.bimestre_2.dataDeFechamento < semestre.bimestre_1.dataDeInicio){
            return semestre.bimestre_2.errors.rejectValue('dataDeFechamento', 'bimestre.dataDeFechamento.invalid.dataDeInicio', 'A data de fechamento é anterior à data de início')
        }
        if(semestre.bimestre_2.dataDeFechamento > semestre.dataDeFechamento){
            return semestre.bimestre_2.errors.rejectValue('dataDeFechamento', 'bimestre.dataDeFechamento.invalid.semestre', 'A data de fechamento é superior que a data de fechamento do semestre')
        }
        
        return true
    }
    
}
